import React, {Component} from 'react';
import {
  Switch,
  Route,
  Redirect
} from "react-router-dom";

class RouterView extends Component {
  static defaultProps = {
    routes: [],
    matchPath: ''
  };

  //作用 根据路由的配置文件  加载对应的组件 并且渲染

  render() {
    const {routes} = this.props;
    return (
      <Switch>
        {
          routes.map((item, key) => {
            if (item.from !== undefined) {//处理的是重定向
              return <Redirect key={key} from={item.from} to={item.redirect}/>
            }
            // 组件
            const Template = item.component;

            //props 路由信息
            return <Route key={key} path={item.path} render={(props) => {
              //props 路由信息 大量传值
              return <Template {...props} routes={item.children}/>
            }}/>
          })
        }
      </Switch>
    );
  }
}

// RouterView.defaultProps

export default RouterView;
